package com.group.insight.vo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * Name: R
 * Package: com.group.insight.vo
 * Date: 2024/11/07 - 19:08
 * Description: 统一返回结果
 *
 * @author Junhui Zhang
 * @version v1.0
 */

@Data
@NoArgsConstructor
@AllArgsConstructor
public class R<T> {
    /**
     * 返回码 0 错误 1 正确
     */
    private Integer code;
    /**
     * 携带消息
     */
    private String msg;
    /**
     * 携带数据
     */
    private T data;
    /**
     * 返回成功格式
     * @param data 数据
     * @param <T> 类型
     * @return R
     */
    public static <T> R<T> success(T data){
        return new R<T>(1, "操作成功", data);
    }
    /**
     * 返回失败格式
     * @param data 数据
     * @param <T> 类型
     * @return R
     */
    public static <T> R<T> fail(T data){
        return new R<T>(0, "操作失败", data);
    }
}
